﻿using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using NHibernate;
using schedulelist.ORM.dao.classes;
using schedulelist.ORM.dao.interfaces;
using schedulelist.ORM.mapping;
using schedulelist.ORM.dao;
using schedulelist.ORM.domain;

namespace schedulelist
{
    public partial class Profile : System.Web.UI.Page
    {
        public static string uname="";
        //страница профиля залогинившегося юзера
        protected void Page_Prerender(object sender, EventArgs e)
        {
            Interlayer s = new Interlayer();
            if (s.isLogged())
            {
                Response.Redirect("~/Login.aspx");
            }
            Label5.Text = s.getUserName();
            Label6.Text = s.getUserLogin();
            Label7.Text = s.getUserEmail();
            Label8.Text = s.getUserSex();
            Label11.Text = s.getUserRole();
            Label13.Text = s.getUserDep();
            if (s.loggedUser().Role.uedit )
            {
                AdminPanel.Visible = true;
            }
            Label15.Text = s.GetTicsOfLoggedUser();
            Label17.Text = s.GetCompletedTicsOfLoggedUser();
            if (s.loggedUser().Role.name == "manager")
            {
                ManagerPanel.Visible = true;
                D1.Items.Clear();
                s.Fill_DropDownList(D1);
                Label19.Text = s.GetUserListByDep().Count.ToString();
                Label21.Text = s.getTicketsByOwner();
                Label23.Text = s.GetTicsCountOfUser();
                Label25.Text = s.GetCompletedTicsCountOfUser();
            }
            Chart1.Visible = true;
            Chart2.Visible = true;
            Refresh(sender, e);
            
        }

        protected void Refresh(object sender, EventArgs e)
        {
            Interlayer s = new Interlayer();
            //заполняем график значениями
            for (int i = 1; i < 13; i++)
            {
                //поле дата должно содержать такой шаблон:
                //yyyy-mm-dd hh:mm:ss
                //yyyy - номер года
                //mm - номер месяца
                //dd - номер дня
                StringBuilder data = new StringBuilder();
                data.Append("2012");
                if (i < 10) { data.Append("-0" + i.ToString()); }
                else { data.Append("-" + i.ToString()); }
                //поиск осуществляется по шаблону "yyyy-dd", напрмер "2012-05"
                //получаем кол-во тиектов по владельцу и искомому шаблону 
                //int o = UsrDAO.GetTicsOfownByDate(res, data.ToString());
                int o = s.GetTicsOfownByDate(data.ToString());
                //получаем кол-во тиектов по исполнителю и искомому шаблону
                int o1 = s.GetTicsOfExByDate(data.ToString());
                //выводим на оси Х на месяце i кол-во тикетов o/o1
                //Series[0] - график для тикетов владельца
                //Series[1] - график для тикетов исполнителя
                Chart1.Series[0].Points[i].SetValueXY(i, o);
                Chart2.Series[0].Points[i].SetValueXY(i, o1);
            }
        }

        protected void Enable(object sender, EventArgs e)
        {
            TicketsForm.en_cat = CheckBox1.Checked;
            TicketsForm.en_inf = CheckBox4.Checked;
            Response.Redirect("~/TicketsForm.aspx");
        }

        protected void GetTics(object sender, EventArgs e)
        {
            Interlayer s = new Interlayer();
            Label29.Text = s.getTicketsCountByDepForCustomer(D1.SelectedValue);
            Label28.Visible = true;
            Label29.Visible = true;
        }
    }
}
